Skip to content

Add new vehicle_label field to vehicles table#250

Open
chrisyamas wants to merge 3 commits into
developfrom
feature/issue-240-vehicle-label
Open

Add new vehicle_label field to vehicles table#250
chrisyamas wants to merge 3 commits into
developfrom
feature/issue-240-vehicle-label

Conversation

@chrisyamas

Copy link
Copy Markdown
Contributor

Summary

Adds an optional vehicle_label field to the vehicles table to distinguish between internal vehicle IDs and public-facing vehicle numbers displayed on the exterior if vehicles. This new field aligns with GTFS-realtime VehicleDescriptor which has both id and label.

Resolves #240

Changes

  • spec/vehicles.schema.json added new optional field vehicle_label:
    • type: string
    • description: User-visible label for the vehicle, such as the vehicle number displayed on the exterior. This may differ from vehicle_id, which is the internal identifier. Aligns with GTFS-realtime VehicleDescriptor.label.
    • no constraints (optional field)
    • positioned logically after vehicle_id
  • CHANGELOG.md added entry under [Unreleased] > ### Added

Reason for this change

Agencies often have two different identifiers for vehicles:

  • an internal ID (vehicle_id) used in fleet management, maintenance systems, and internal databases
  • a public-facing number (vehicle_label) displayed on the vehicle exterior for passengers and customer service

Currently the TIDES spec only has vehicle_id, which forces agencies to either lose the public-facing number or use inconsistent workarounds. Adding vehicle_label provides a standard place for this common data element (and aligns with GTFS-realtime's VehicleDescriptor.label).

- See related discussion in Issue #240 and Fall 2025 TIDES Issues Working Group notes from December 10.

Review checklist

Per change management policy, the following must be met before feature branch changes can merge to develop branch:

  • All JSON files validate
  • Reviewed and approved by 2+ contributors or board members

@chrisyamas chrisyamas added this to the v2.0 milestone Dec 31, 2025
@chrisyamas chrisyamas self-assigned this Dec 31, 2025
@chrisyamas chrisyamas requested review from a team as code owners December 31, 2025 02:02
@chrisyamas chrisyamas added 🚀 feature Adds a new feature - to spec or code 📄 spec Pertains to the specification itself 🔄 normative change A normative change requires approval of TIDES Board labels Dec 31, 2025
@github-actions

Copy link
Copy Markdown
Contributor

@chrisyamas chrisyamas changed the base branch from main to develop January 2, 2026 16:06
@jlstpaul

jlstpaul commented Jan 5, 2026

Copy link
Copy Markdown
Contributor

Should samples/template/TIDES/vehicles.csv also be update to add the field.

@github-actions

Copy link
Copy Markdown
Contributor

Data Validation Report

Sample Status
./samples/template/TIDES ✔️

@chrisyamas

Copy link
Copy Markdown
Contributor Author

Should samples/template/TIDES/vehicles.csv also be update to add the field.

Yes, I went ahead and added vehicle_label as a column in amples/template/TIDES/vehicles.csv, thanks for the suggestion @jlstpaul !

@CTRAN-Sutinen CTRAN-Sutinen left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vehicle_label is functionally a unique id, I think we need to have a uniqueness constraint.

@paulswartz

Copy link
Copy Markdown

vehicle_label is functionally a unique id, I think we need to have a uniqueness constraint.

Drive-by note: at least for MBTA this is not the case. We have vehicles with the same label, even inside a single mode. 15xx overlaps between both Red and Orange Line cars: http://roster.transithistory.org/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🚀 feature Adds a new feature - to spec or code 🔄 normative change A normative change requires approval of TIDES Board 📄 spec Pertains to the specification itself

Projects

None yet

Development

Successfully merging this pull request may close these issues.

📄🚀 – add public vehicle identifier as vehicle_label to vehicles table

4 participants